

var G_AjaxApi = new yingSoftAjax('http://192.168.0.219:8002');

var G_AjaxApi = new yingSoftAjax(location.origin);

/********************************************************************************
 函数名：yingSoftAjax
 功能：封装ajax请求
 输入参数:ip 要提交的请求的ip
 返回值：无
 创建信息：韦友爱（2015-07-09）
 修改信息：无
 *******************************************************************************/
function yingSoftAjax(ip) {
    var timeOut = 5000;//请求超时时间
    /********************************************************************************
     函数名：post
     功能：对外暴露的post方式请求数据
     输入参数:url 请求的地址
     params 要发送的数据
     async 是否异步执行(true：异步/false：同步)
     success 请求成功的回调函数fn(json,status,readyState){}
     error 请求失败的回调函数(可选参数)fn(status,readyState){}
     返回值：无
     创建信息：韦友爱（2015-07-09）
     修改信息：无
     *******************************************************************************/
    this.post = function (url,params,async,success,error){
        _post(url,params,async,success,error);
    }
    /********************************************************************************
     函数名：_post
     功能：post方式请求数据
     输入参数:url 请求的地址
     params 要发送的数据
     async 是否异步执行(true：异步/false：同步)
     success 请求成功的回调函数fn(json,status,readyState){}
     error 请求失败的回调函数(可选参数)fn(status,readyState){}
     返回值：无
     创建信息：韦友爱（2015-07-09）
     修改信息：无
     *******************************************************************************/
    function _post(url,params,async,success,error){
        var _url = ip + url;
        $.ajax({
            type:"POST",
            url:_url,
            data:params,
            async:async,
            dataType:"text",
            timeout: timeOut,
            beforeSend:function(){//发送请求之前

            },
            complete:function(){//请求结束

            },
            success:function(data,textStatus){//成功时执行的回调
               // success(data);
                var jsonData=JSON.parse(data);
                if(jsonData.status===200){
                    success(data);

                }else if(jsonData.status===201){

                    G_Popup.alert('提示','请求参数错误');
                }
                else if(jsonData.status===202){
                    G_Prg.removeCookie('Login');
                    G_Popup.alert('提示','请登录','确认',function(){
                        var arrUrl=window.location.pathname;
                        if(arrUrl.indexOf('/html/')>0){
                            top.location.href='../index.html';
                        }else if(arrUrl.indexOf('/html/userHome/')>0){
                            parent.location.href='../../html/index.html';
                        } else{
                            top.location.href='index.html';
                        }
                    });

                } else if(jsonData.status===203){

                    G_Popup.alert('提示','无权限');

                }else if(jsonData.status===204){
                    G_Popup.alert('提示',jsonData.msg,'确认',function(){
                        G_Prg.removeCookie('Login');
                        var arrUrl=window.location.pathname
                        if(arrUrl.indexOf('/html/')>0){
                            top.location.href='../index.html';
                        }else if(arrUrl.indexOf('/html/userHome/')>0){
                            parent.location.href='../../html/index.html';
                        }else{
                            top.location.href='index.html';;
                        }
                    });

                }else if(jsonData.status===300){
                    G_Popup.alert('提示',jsonData.msg);
                }
            },
            error:function(e){
                var status = e.status;
                throw('请求无响应');//接口端尚未有完整的规则，暂时先全部抛出“请求无响应”的提示
            }
        });
    }
    /********************************************************************************
     函数名：post
     功能：对外暴露的post方式请求数据
     输入参数:url 请求的地址
     async 是否异步执行(true：异步/false：同步)
     success 请求成功的回调函数fn(json,status,readyState){}
     error 请求失败的回调函数(可选参数)fn(status,readyState){}
     返回值：无
     创建信息：韦友爱（2015-07-09）
     修改信息：无
     *******************************************************************************/
    this.get = function (url,async,success,error){
        _get(url,async,success,error);
    }
    /********************************************************************************
     函数名：_get
     功能：get方式请求数据
     输入参数:url 请求的地址
     async 是否异步执行(true：异步/false：同步)
     success 请求成功的回调函数fn(json,status,readyState){}
     error 请求失败的回调函数(可选参数)fn(status,readyState){}
     返回值：无
     创建信息：韦友爱（2015-07-09）
     修改信息：无
     *******************************************************************************/
    function _get(url,async,success,error){
        var _url = ip + url;
        $.ajax({
            type:"GET",
            url:_url,
			data:{v : Math.random()},
            async:async,
            dataType:"text",
            timeout: timeOut,
            beforeSend:function(){//发送请求之前

            },
            complete:function(){//请求结束

            },
            success:function(data,textStatus){//成功时执行的回调
//                success(data);
                var jsonData=JSON.parse(data);
                if(jsonData.status===200){
                    success(data);

                }else if(jsonData.status===201){

                    G_Popup.alert('提示','请求参数错误');
                }else if(jsonData.status===202){
                    G_Prg.removeCookie('Login');
                    G_Popup.alert('提示','请登录','确认',function(){
                        var arrUrl=window.location.pathname;
                        if(arrUrl.indexOf('/html/')>0){
                            top.location.href='../index.html';
                        }else if(arrUrl.indexOf('/html/userHome/')>0){
                            parent.location.href='../../html/index.html';
                        }else{
                            top.location.href='index.html';
                        }
                    });

                } else if(jsonData.status===203){

                    G_Popup.alert('提示','无权限');

                }else if(jsonData.status===204){
                    G_Popup.alert('提示',jsonData.msg,'确认',function(){
                        G_Prg.removeCookie('Login');
                        var arrUrl=window.location.pathname
                        if(arrUrl.indexOf('/html/')>0){
                            top.location.href='../index.html';
                        }else if(arrUrl.indexOf('/html/userHome/')>0){
                            parent.location.href='../../html/index.html';
                        }else{
                            top.location.href='index.html';
                        }
                    });

                }else if(jsonData.status===300){
                    G_Popup.alert('提示',jsonData.msg);
                }

            },
            error:function(e){
                var status = e.status;
                throw('请求无响应');//接口端尚未有完整的规则，暂时先全部抛出“请求无响应”的提示
            }
        });
    }
    /********************************************************************************
     函数名：getByParam
     功能：对外暴露的get带参数的方式请求数据
     输入参数:url 请求的地址
     param 请求参数
     async 是否异步执行(true：异步/false：同步)
     success 请求成功的回调函数fn(json,status,readyState){}
     error 请求失败的回调函数(可选参数)fn(status,readyState){}
     返回值：无
     创建信息：韦友爱（2015-07-09）
     修改信息：无
     *******************************************************************************/
    this.getByParam = function (url,param,async,success,error){
        _getByParam(url,param,async,success,error);
    }
    /********************************************************************************
     函数名：_getByParam
     功能：get带参数的方式请求数据
     输入参数:url 请求的地址
     param 请求参数
     async 是否异步执行(true：异步/false：同步)
     success 请求成功的回调函数fn(json,status,readyState){}
     error 请求失败的回调函数(可选参数)fn(status,readyState){}
     返回值：无
     创建信息：韦友爱（2015-07-09）
     修改信息：无
     *******************************************************************************/
    function _getByParam(url,param,async,success,error){
		if(param){
			param.v = Math.random();
		}
        var _url = ip + url;
        $.ajax({
            type:"GET",
            url:_url,
            async:async,
            data:param,
            dataType:"text",
            timeout: timeOut,
            beforeSend:function(){//发送请求之前

            },
            complete:function(){//请求结束

            },
            success:function(data,textStatus,xhr){//成功时执行的回调
                var jsonData=JSON.parse(data);
                if(jsonData.status===200){
                    success(data);

                }else if(jsonData.status===201){

                    G_Popup.alert('提示','请求参数错误');
                }else if(jsonData.status===202){
                    G_Prg.removeCookie('Login');
                    G_Popup.alert('提示','请登录','确认',function(){
                        var arrUrl=window.location.pathname;
                        if(arrUrl.indexOf('/html/')>0){
                            top.location.href='../index.html';
                        }
                        else{
                            top.location.href='index.html';
                        }
                    });

                } else if(jsonData.status===203){

                    G_Popup.alert('提示','无权限');

                }else if(jsonData.status===204){
                    G_Popup.alert('提示',jsonData.msg,'确认',function(){
                        G_Prg.removeCookie('Login');
                        var arrUrl=window.location.pathname
                        if(arrUrl.indexOf('/html/')>0){
                            top.location.href='../index.html';
                        }
                        else{
                            top.location.href='index.html';
                        }
                    });

                }else if(jsonData.status===300){
                    G_Popup.alert('提示',jsonData.msg);
                }
            },
            error:function(e){
                var status = e.status;
                throw('请求无响应');//接口端尚未有完整的规则，暂时先全部抛出“请求无响应”的提示
            }
        });
    }
}